// 项目的根组件

// app引入到index.js,渲染到public的index.html的root的div里面

const count = 100
function getName() {
  return 'jack'
}
const list = [
  { id: 1001, name: 'Vue' },
  { id: 1002, name: 'React' },
  { id: 1003, name: 'Angular' }
]
const isLogin = false
// 定义文章类型
const articleType = 1 // 0,1,3
// 定义核心函数（根据文章类型返回不同的JSX模版）
function getArticleTem() {
  if (articleType === 0) {
    return <div>我是无图文章</div>
  } else if (articleType === 1) {
    return <div>我是单图模式</div>
  } else {
    return <div>我是三图模式</div>
  }
}

function App() {
  // 事件参数e
  // const handleClick = (e) => {
  //   console.log('button被点击', e)
  // }

  // 传递自定义参数
  // const handleClick = (name) => {
  //   console.log('button被点击', name)
  // }

  // 既要传递自定义参数，而且还要事件对象e
  const handleClick = (name, e) => {
    console.log('button被点击', name, e)
  }
  return (
    <div className="App">
      this is App
      {/* 使用引号传递字符串 */}
      {'this is message'}
      {/* 识别js变量 */}
      {count}
      {/* 函数调用 */}
      {getName()}
      {/* 方法调用 */}
      { new Date().getDate()}
      {/* 使用js对象 */}
      <div style={{ color: 'red' }}>this is div</div>
      <ul>
        { list.map(item=><li key={item.id}>{item.name}</li>) }
      </ul>
      {/* 逻辑与 && */}
      {isLogin && <span>this is span</span>}
      {/* 三元运算 */}
      {isLogin ? <span>jack</span> : <span>loading...</span>}
      {/* 调用函数渲染不同的模版 */}
      {getArticleTem()}
      {/* <button onClick={handleClick}>click me</button> */}
      {/* <button onClick={() => handleClick('JACK')}>click me</button> */}
      <button onClick={(e) => handleClick('JACK', e)}>click me</button>
    </div>
  );
}

export default App;
